An information processing system (hereinafter referred to as a “multi-tier system”) in which multiple computers hierarchically share a process has been available. The computers included in the multi-tier system may hereinafter be referred to as “servers”. One known example of the multi-tier system is a three-tier system including a web server that provides an interface for use of the system, an app (application) server for executing a process in the system, and a DB (database) server for managing data. In response to a process request from a user, the servers coordinate with each other to execute a process and make a response to the process request. Causing the servers to share the process makes it possible to improve the system reliability and the response capability.
In such a multi-tier system typified by a web multi-tier system, when a response time at the end user increases, specifying a tier to which the server having a problem belongs, is very important as the first step toward addressing a failure. Therefore, a scheme in which the process times of the servers in the tiers are measured and changes in the process times are measured has been widely used to determine the presence/absence of a problem.
One conceivable technology is that a transaction model is generated and message exchange that is carried out in accordance with the transaction model is detected from messages transmitted/received via a switch. The technology makes it possible to specify a collection of messages that constitute an arbitrary transaction and also makes it possible to analyze the transaction. For example, it is possible to keep track of processes of each application from when a user request is issued until a response is made.
However, although increases in the process times of the individual servers in the tiers can be detected through analysis of the process times of the servers, the method of the related art is in some cases insufficient for quickly specifying a portion that causes a problem, such as a process delay.
For example, the process times of the servers in multiple tiers may increase simultaneously. Causes of such increases in the process times can be attributed to, for example, two patterns as described below.
The first pattern corresponds to a case in which problems such as overloading occur independently in the servers in the different tiers. The second pattern corresponds to a case in which only the server in the lower tier has a problem and the server in the upper tier is merely influenced by an increase in the process time of the server in the lower tier. With the technology of the related art, however, such two patterns cannot be distinguished from each other. As a result, when increases in the process times of the servers in the multiple tiers are detected, the servers in the tiers are individually checked for cause determination. This requires a large amount of time for the cause termination and measures therefor.